/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package au.edu.swin.swinvehicle.driver;

import au.edu.swin.swinvehicle.driverlicencetype.DriverLicenceTypeEntity;
import au.edu.swin.swinvehicle.driverlicencetype.DriverLicenceTypeTO;
import au.edu.swin.swinvehicle.vehiclebooking.VehicleBookingEntity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Alexandra
 */
public class DriverDetailsTO implements Serializable{

    private Long id;
    private String firstName;
    private String lastName;
    private String emailAddress;
    private String contactNumber;
    private String homeAddress;
    private String username;
    private List<VehicleBookingEntity> vehicleBookings;
    private DriverLicenceTypeEntity driverLicenceType;

    public DriverDetailsTO(Long id, String username, DriverLicenceTypeTO driverLicenceType, List<VehicleBookingEntity> vehicleBookings) {
        this();
        this.setUsername(username);
        this.setId(id);

        DriverLicenceTypeEntity driverLicenceTypeEntity = new DriverLicenceTypeEntity();
        driverLicenceTypeEntity.setData(driverLicenceType);
        this.setDriverLicenceType(driverLicenceTypeEntity);
        
        this.setVehicleBookings(vehicleBookings);
    }

    public DriverDetailsTO(Long id, String username, DriverLicenceTypeTO driverLicenceType) {
        this();
        this.setId(id);
        this.setUsername(username);

        DriverLicenceTypeEntity driverLicenceTypeEntity = new DriverLicenceTypeEntity();
        driverLicenceTypeEntity.setData(driverLicenceType);
        this.setDriverLicenceType(driverLicenceTypeEntity);

    }

    public DriverDetailsTO() {
        super();
        new ArrayList<VehicleBookingEntity>();
    }

    public DriverLicenceTypeEntity getDriverLicenceType() {
        return driverLicenceType;
    }

    public void setDriverLicenceType(DriverLicenceTypeEntity driverLicenceType) {
        this.driverLicenceType = driverLicenceType;
    }

    public List<VehicleBookingEntity> getVehicleBookings() {
        return vehicleBookings;
    }

    public void setVehicleBookings(List<VehicleBookingEntity> vehicleBookings) {
        this.vehicleBookings = vehicleBookings;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public String getEmailAddress() {
        return emailAddress;
    }

    public void setEmailAddress(String emailAddress) {
        this.emailAddress = emailAddress;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getHomeAddress() {
        return homeAddress;
    }

    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
}
